{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Day18 进阶构图元素——色彩篇（下）\n",
    "\n",
    "　　在前一天的日程中我们对`matplotlib`中使用单一色彩进行了介绍，而在很多情况下我们在数据可视化作品中使用颜色是为了对某个值进行映射，而今天的日程就将对`matplotlib`中色彩映射相关的重要知识点进行介绍。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "matplotlib版本： 3.3.2\n"
     ]
    }
   ],
   "source": [
    "import matplotlib;print('matplotlib版本：', matplotlib.__version__)\n",
    "import matplotlib.pyplot as plt # 从matplotlib中导入我们最经常使用的pyplot子模\n",
    "\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei'] # 设定默认字体为SimHei以解决中文显示乱码问题\n",
    "plt.rcParams['axes.unicode_minus'] = False # 解决图像负号'-'不正常显示的问题"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "　　在`matplotlib`中对序列值进行色彩映射，我们在前面已经有所介绍，还记得当时我们添加的参数`cmap`吗，全程应为*colormap*，即调色盘，用于决定**值**如何向**色彩**进行映射："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "execution": {
     "iopub.status.idle": "2020-11-04T11:11:12.100765Z",
     "shell.execute_reply": "2020-11-04T11:11:12.100765Z",
     "shell.execute_reply.started": "2020-11-04T11:11:12.015011Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "\n",
    "x = np.array(range(10))\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(6, 6))\n",
    "\n",
    "ax.scatter(x, x, c=x, cmap='Greens', s=500);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "　　而基于`matplotlib`中的`cm`子模块，我们可以换一种方式复现上面的图，这两种方式的效果是等价的："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-11-04T11:11:12.102742Z",
     "iopub.status.busy": "2020-11-04T11:11:12.102742Z",
     "iopub.status.idle": "2020-11-04T11:11:12.189544Z",
     "shell.execute_reply": "2020-11-04T11:11:12.189544Z",
     "shell.execute_reply.started": "2020-11-04T11:11:12.102742Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib import cm\n",
    "\n",
    "Greens = cm.get_cmap('Greens')\n",
    "colors = Greens((x - min(x)) / (max(x) - min(x))) # 对映射值进行归一化后传入Greens中\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(6, 6))\n",
    "\n",
    "ax.scatter(x, x, c=colors, s=500);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "　　通过上面的例子，我们知晓了`matplotlib`中的`colormap`类似函数，内置了色彩范围，通过传入0-1之间的值就可以计算出对应的`RGBA`值："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-11-04T11:11:12.191505Z",
     "iopub.status.busy": "2020-11-04T11:11:12.190507Z",
     "iopub.status.idle": "2020-11-04T11:11:12.197489Z",
     "shell.execute_reply": "2020-11-04T11:11:12.197489Z",
     "shell.execute_reply.started": "2020-11-04T11:11:12.191505Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0.96862745, 0.98823529, 0.96078431, 1.        ],\n",
       "       [0.90662053, 0.96412149, 0.88844291, 1.        ],\n",
       "       [0.80899654, 0.92516724, 0.78345252, 1.        ],\n",
       "       [0.68104575, 0.87189542, 0.65620915, 1.        ],\n",
       "       [0.53517878, 0.80608997, 0.52875048, 1.        ],\n",
       "       [0.36392157, 0.72402922, 0.41814687, 1.        ],\n",
       "       [0.21568627, 0.62875817, 0.33333333, 1.        ],\n",
       "       [0.10388312, 0.51649366, 0.24675125, 1.        ],\n",
       "       [0.        , 0.40790465, 0.16444444, 1.        ],\n",
       "       [0.        , 0.26666667, 0.10588235, 1.        ]])"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "colors"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "　　而`matplotlib`中内置了诸多的调色方案，可以通过一一对应的名称来调用，但我更推荐的调色方式是通过第三方库`palettable`，它内置了数量众多的经典调色方案，你可以通过`pip install palettable`来对其进行安装，安装完成之后，我们可以在其官方网站（ https://jiffyclub.github.io/palettable/ ）查看所有色彩方案，举个例子：\n",
    "  \n",
    "　　我们以调色方案集合`colorbrewer`（ https://jiffyclub.github.io/palettable/colorbrewer/ ）下可以看到共有三类调色方案，分别为：\n",
    "\n",
    "> **diverging**：从一种颜色过渡到另一种颜色<br>\n",
    "> **qualitative**：离散的多个色彩<br>\n",
    "> **sequential**：同一种颜色由浅入深映射\n",
    "\n",
    "　　以`colorbrewer.diverging`下的`Spectral_5`为例：\n",
    " \n",
    "<center>\n",
    "    <img src=\"imgs/Spectral_5.png\" width=600></img>\n",
    "</center>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-11-04T11:11:12.198486Z",
     "iopub.status.busy": "2020-11-04T11:11:12.198486Z",
     "iopub.status.idle": "2020-11-04T11:11:12.549546Z",
     "shell.execute_reply": "2020-11-04T11:11:12.549546Z",
     "shell.execute_reply.started": "2020-11-04T11:11:12.198486Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from palettable.colorbrewer.diverging import Spectral_5\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(6, 6))\n",
    "\n",
    "# 利用mpl_colormap获取对应的colormap对象\n",
    "ax.scatter(x, x, c=x, cmap=Spectral_5.mpl_colormap, s=500);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 课后测验：\n",
    "\n",
    "　　接下来的时间交给你们，在之前对柱状图的学习中我们知道`matplotlib`中的`bar()`是不支持直接传入数值进行色彩映射的，但可以对`color`参数传入色彩值序列达到色彩映射的效果，那么请你根据今天所学的知识内容，在下面代码的基础上，尽量模仿出下图：\n",
    "\n",
    "<center>\n",
    "    <img src=\"imgs/课后题目.png\" width=400></img>\n",
    "</center>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-11-04T11:11:12.550543Z",
     "iopub.status.busy": "2020-11-04T11:11:12.550543Z",
     "iopub.status.idle": "2020-11-04T11:11:12.552540Z",
     "shell.execute_reply": "2020-11-04T11:11:12.552540Z",
     "shell.execute_reply.started": "2020-11-04T11:11:12.550543Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from palettable.cmocean.sequential import Matter_3\n",
    "\n",
    "np.random.seed(2)\n",
    "x = np.random.uniform(0, 100, 10)\n",
    "\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(10, 6))\n",
    "\n",
    "'''你的代码'''\n",
    "colors = cm.get_cmap(Matter_3.mpl_colormap)\n",
    "colors=colors((x-min(x))/(max(x)-min(x)))\n",
    "ax.bar(range(0,10),x,width=1,color=colors)\n",
    "#关掉坐标轴\n",
    "ax.axis('off');\n",
    "\n",
    "fig.savefig('课后题目.png', dpi=300)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "* 请在今天对应的帖子下回复你的代码和结果"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Collecting palettable\n",
      "  Downloading palettable-3.3.0-py2.py3-none-any.whl (111 kB)\n",
      "Installing collected packages: palettable\n",
      "Successfully installed palettable-3.3.0\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING: You are using pip version 20.2.2; however, version 20.2.4 is available.\n",
      "You should consider upgrading via the 'd:\\anaconda3\\envs\\tfgpu\\python.exe -m pip install --upgrade pip' command.\n"
     ]
    }
   ],
   "source": [
    "!pip install palettable"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "state": {},
    "version_major": 2,
    "version_minor": 0
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
